using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;
using Com.AlbLab.GEP.Domain.Entities;
using Com.AlbLab.GEP.Domain.Entities.Standard;

namespace Com.AlbLab.GEP.Domain.Entities.Standard
{
    public class PST_V02_Disattivazione_Fornitura_richiesta_cliente : BASE_PraticaStandard
    {

        GEP_DATIV02 _PraticaDB;

        public PST_V02_Disattivazione_Fornitura_richiesta_cliente()
            : base()
        {

        }

        public PST_V02_Disattivazione_Fornitura_richiesta_cliente(System.Data.DataColumnCollection cols, System.Data.DataRow dr)
            : base(cols, dr)
        {
            this.ListaControlliValori.Add(new string[] { "PresenzaCliente", "1", "CheckValoreSiNo", "Valore del campo 'Presenza cliente'", null, null, null });
            this.ListaControlliValori.Add(new string[] { "tel", "2", "CheckNotEmpty", "numero telefono cliente finale", null, "PresenzaCliente;SI", null });
        }

        public override string CodiceServizio
        {
            get { return "V02"; }
        }

        public override string DescrizioneServizio
        {
            get { return "Verifica della tensione di fornitura su richiesta del cliente finale."; }
        }

        public override object RecordDB
        {
            get 
            { 
                return _PraticaDB; 
            }
            set 
            { 
                _PraticaDB = (GEP_DATIV02)value;
                IsSaved = true;
            }
        }

        public override void CaricaPraticaDB() { 
        
            _PraticaDB = new GEP_DATIV02((decimal) DBCodicePratica);
            IsSaved = true;
            FromDB = true;
            FromFile = false;
        }

        public override void SalvaPraticaDB()
        {
            _PraticaDB = new GEP_DATIV02(-1);
            _PraticaDB.Gep_testata.Tes_Cod_Servizio = this.CodiceServizio;
            _PraticaDB.Gep_testata.Tes_Piva_Utente = (string)RecordRaw[LCS_piva_utente];
            _PraticaDB.Gep_testata.Tes_Piva_Distributore = (string)RecordRaw[LCS_piva_distr];
            _PraticaDB.Gep_testata.Tes_Cod_Prat_Utente = (string)RecordRaw[LCS_cod_prat_distr];
            _PraticaDB.Gep_testata.Tes_Cod_Contr_Disp = (string)RecordRaw[LCS_cod_contr_disp];
            _PraticaDB.Gep_testata.Tes_Pod = (string)RecordRaw[LCS_pod];
            _PraticaDB.Gep_testata.Tes_Codfis_Cli = (string)RecordRaw[LCS_codfis_cliente];
            _PraticaDB.Gep_testata.Tes_Pariva_Cli = (string)RecordRaw[LCS_piva_cliente];
            _PraticaDB.Gep_testata.Tes_Tel_Cli = (string)RecordRaw["tel"];
            _PraticaDB.Gep_testata.Tes_Note = (string)RecordRaw["note"];
        }

        public override GEP_TESTATA GEP_testata
        {
            get
            {
                return _PraticaDB.Gep_testata;
            }
        }
    }
}
